Instructions in microprocessors may lead to stalls, potentially delaying instruction processing and tying up microprocessor resources. Because stalls are often unpredictable, some microprocessors resolving a first stall may speculatively execute instructions to uncover other potential stalls. While speculative execution may speed execution if a potential stall is uncovered, restarting the microprocessor after speculative execution ends and resetting the microprocessor to a pre-speculative execution state may slow execution each time speculative execution is performed.